//
//  LastRadiosViewController.m
//  Allzic
//
//  Created by Alia Bourouis on 24/03/14.
//  Copyright (c) 2014 Alia Bourouis. All rights reserved.
//

#import "LastRadiosViewController.h"
#import "AppDelegate.h"

@interface LastRadiosViewController ()

@end

@implementation LastRadiosViewController

- (void)viewWillAppear:(BOOL)animated {
    
    [super viewWillAppear:animated];
    self.title = self.screenName = @"last_radios";
    
    /*
    NSMutableDictionary *event;
    event = [[GAIDictionaryBuilder createEventWithCategory:@"UI"
                                                    action:@"navigation"
                                                     label:@"last_radios"
                                                     value:nil] build];
    [[GAI sharedInstance].defaultTracker send:event];
    [[GAI sharedInstance] dispatch];
    */
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
        [self displayBackView];
    }
    return self;
}

- (void)backToParentView {
    
    [appDelegate.window setRootViewController:appDelegate.exploreVC];
}


//-----------------------------------------
//		IconDownloader Delegate
//-----------------------------------------

- (void)appImageDidLoad:(IconDownloader *)downloader {
    
    if (downloader.indexPathInTableView != nil && dataArray.count > downloader.indexPathInTableView.row) {
        [dataTable reloadRowsAtIndexPaths:[NSArray arrayWithObject:downloader.indexPathInTableView] withRowAnimation:UITableViewRowAnimationNone];
    }
}


//-----------------------------------------
//		TableView Delegate
//-----------------------------------------

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    
    int nbSection = 1;
    return nbSection;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    
    int nbRowInSection = 0;
    if (dataArray != nil) {
        nbRowInSection = [dataArray count];
    }
    return nbRowInSection;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    static NSString *cellIdentifier = @"dataCell";
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    //if(cell == nil) {
    //NSLog(@"cell = nil");
    
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    
    UIView *background = [[UIView alloc]initWithFrame:CGRectMake(0.0f, 0.0f , tableView.frame.size.width,tableView.rowHeight)];
    if (indexPath.row % 2) {
        background.backgroundColor = [UIColor colorWithRed:232.0f/255.0f green:243.0f/255.0f blue:248.0f/248.0f alpha:1.0f];
    } else {
        background.backgroundColor = [UIColor whiteColor];
    }
    [cell.contentView addSubview:background];
    
    UIImageView *radioLogoImage = [[UIImageView alloc]initWithFrame:CGRectMake(10.0f, 5.0f, tableView.rowHeight - 10.0f, tableView.rowHeight - 10.0f)];
    [radioLogoImage setContentMode:UIViewContentModeScaleAspectFit];
    [radioLogoImage setClipsToBounds:YES];
    UIView *defaultView = [[UIView alloc] initWithFrame:radioLogoImage.frame];
    defaultView.backgroundColor = [UIColor colorWithRed:230.0f/255.0f green:230.0f/255.0f blue:230.0f/255.0f alpha:1.0f];
    [cell.contentView addSubview:defaultView];
    [cell.contentView addSubview:radioLogoImage];
    
    if([iconDownloaderDictionary objectForKey:indexPath] == nil) {
        IconDownloader *iconDownloader = [[IconDownloader alloc] init];
        iconDownloader.indexPathInTableView = indexPath;
        iconDownloader.delegate = self;
        [iconDownloaderDictionary setObject:iconDownloader forKey:indexPath];
        [iconDownloader startDownloadAtUrl:[[dataArray objectAtIndex:indexPath.row] objectForKey:@"thumb"] withMaxSize:(tableView.rowHeight - 10.0f)*2];
    } else if ([[iconDownloaderDictionary objectForKey:indexPath] appIcon] != nil) {
        [radioLogoImage setImage:[[iconDownloaderDictionary objectForKey:indexPath] appIcon]];
        [defaultView removeFromSuperview];
    }
    
    UILabel *radioTitleLabel = [[UILabel alloc]initWithFrame:CGRectMake(radioLogoImage.frame.origin.x + radioLogoImage.frame.size.width + 10.0f, 10.0f, tableView.frame.size.width - radioLogoImage.frame.origin.x - radioLogoImage.frame.size.width - 40.0f, tableView.rowHeight - 20.0f)];
    [radioTitleLabel setText:[[dataArray objectAtIndex:indexPath.row] objectForKey:@"title"]];
    [radioTitleLabel setFont:[UIFont systemFontOfSize:16]];
    [radioTitleLabel setNumberOfLines:0];
    [radioTitleLabel setBackgroundColor:[UIColor clearColor]];
    [radioTitleLabel setTextColor:[UIColor blackColor]];
    [cell.contentView addSubview:radioTitleLabel];
    
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.accessoryType  = UITableViewCellAccessoryDisclosureIndicator;
    cell.tag            = indexPath.row;
    
    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    
    [appDelegate setOldVC:self];
    [appDelegate.playerVC setNavigationTitle:@"Écoutes récentes"];
    [self selectRadioAtIndex:[NSNumber numberWithInt:indexPath.row]];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
